To read the value of a digital memory cell it is necessary to determine the logical value represented in the memory cell. Binary cells will store either a logical one, or a logical zero. Typically, the stored value is compared with a fixed reference voltage to determine if it represents a one or a zero. For example, a logical high may be stored when the stored value is above the reference level and the sensing circuitry detects no current flow. A logical low may be stored when the threshold voltage is below the reference level and the sensing circuitry detects current flow.
The reference voltage may be determined from experiments on beginning and end of life situations for the memory cell design, and possibly extrapolation to account for threshold voltage decay due to endurance and retention cycles. The reference voltage may be set once, when the memory system is created, and may be nonadjustable thereafter. These approaches do not reflect the real-world behavior of threshold voltage decay and hence the reference voltage becomes less appropriate over time.